﻿using System;

namespace HslCommunication.CNC.Fanuc
{
	/// <summary>
	/// 系统状态信息
	/// </summary>
	// Token: 0x02000183 RID: 387
	public class SysStatusInfo
	{
		/// <summary>
		/// dummy
		/// </summary>
		// Token: 0x17000686 RID: 1670
		// (get) Token: 0x06001F99 RID: 8089 RVA: 0x000997FE File Offset: 0x000979FE
		// (set) Token: 0x06001F9A RID: 8090 RVA: 0x00099806 File Offset: 0x00097A06
		public short Dummy { get; set; }

		/// <summary>
		/// T/M mode
		/// </summary>
		// Token: 0x17000687 RID: 1671
		// (get) Token: 0x06001F9B RID: 8091 RVA: 0x0009980F File Offset: 0x00097A0F
		// (set) Token: 0x06001F9C RID: 8092 RVA: 0x00099817 File Offset: 0x00097A17
		public short TMMode { get; set; }

		/// <summary>
		/// selected automatic mode
		/// </summary>
		// Token: 0x17000688 RID: 1672
		// (get) Token: 0x06001F9D RID: 8093 RVA: 0x00099820 File Offset: 0x00097A20
		// (set) Token: 0x06001F9E RID: 8094 RVA: 0x00099828 File Offset: 0x00097A28
		public CNCWorkMode WorkMode { get; set; }

		/// <summary>
		/// running status
		/// </summary>
		// Token: 0x17000689 RID: 1673
		// (get) Token: 0x06001F9F RID: 8095 RVA: 0x00099831 File Offset: 0x00097A31
		// (set) Token: 0x06001FA0 RID: 8096 RVA: 0x00099839 File Offset: 0x00097A39
		public CNCRunStatus RunStatus { get; set; }

		/// <summary>
		/// axis, dwell status
		/// </summary>
		// Token: 0x1700068A RID: 1674
		// (get) Token: 0x06001FA1 RID: 8097 RVA: 0x00099842 File Offset: 0x00097A42
		// (set) Token: 0x06001FA2 RID: 8098 RVA: 0x0009984A File Offset: 0x00097A4A
		public short Motion { get; set; }

		/// <summary>
		/// m, s, t, b status
		/// </summary>
		// Token: 0x1700068B RID: 1675
		// (get) Token: 0x06001FA3 RID: 8099 RVA: 0x00099853 File Offset: 0x00097A53
		// (set) Token: 0x06001FA4 RID: 8100 RVA: 0x0009985B File Offset: 0x00097A5B
		public short MSTB { get; set; }

		/// <summary>
		/// emergency stop status，为1就是急停，为0就是正常
		/// </summary>
		// Token: 0x1700068C RID: 1676
		// (get) Token: 0x06001FA5 RID: 8101 RVA: 0x00099864 File Offset: 0x00097A64
		// (set) Token: 0x06001FA6 RID: 8102 RVA: 0x0009986C File Offset: 0x00097A6C
		public short Emergency { get; set; }

		/// <summary>
		/// alarm status
		/// </summary>
		// Token: 0x1700068D RID: 1677
		// (get) Token: 0x06001FA7 RID: 8103 RVA: 0x00099875 File Offset: 0x00097A75
		// (set) Token: 0x06001FA8 RID: 8104 RVA: 0x0009987D File Offset: 0x00097A7D
		public short Alarm { get; set; }

		/// <summary>
		/// editting status
		/// </summary>
		// Token: 0x1700068E RID: 1678
		// (get) Token: 0x06001FA9 RID: 8105 RVA: 0x00099886 File Offset: 0x00097A86
		// (set) Token: 0x06001FAA RID: 8106 RVA: 0x0009988E File Offset: 0x00097A8E
		public short Edit { get; set; }

		/// <inheritdoc />
		// Token: 0x06001FAB RID: 8107 RVA: 0x00099898 File Offset: 0x00097A98
		public override string ToString()
		{
			return string.Format("Dummy: {0}, TMMode:{1}, WorkMode:{2}, RunStatus:{3}, ", new object[]
			{
				this.Dummy,
				this.TMMode,
				this.WorkMode,
				this.RunStatus
			}) + string.Format("Motion:{0}, MSTB:{1}, Emergency:{2}, Alarm:{3}, Edit:{4}", new object[]
			{
				this.Motion,
				this.MSTB,
				this.Emergency,
				this.Alarm,
				this.Edit
			});
		}
	}
}
